let dns = require("dns");

//lookup（底层系统工具进行）：将域名（比如 'runoob.com'）解析为第一条找到的记录 A （IPV4）或 AAAA(IPV6)。
const hostname = "www.runoob.com";
dns.lookup(hostname, function (err, address, famliy) {
  if (!err) {
    console.log(hostname + "绑定的IP地址为：" + address);
  }
});
//lookupService：实现给定的ip地址和端口号，解析为对应的域名
dns.lookupService("104.20.23.46", 80, (err, hostname, service) => {
  if (err) {
    console.log(err);
  }
  console.log("主机：" + hostname);
  console.log("协议：" + service);
});
//resolve：使用网络域名系统
dns.resolve("nodejs.org", (err, address) => {
  if (err) {
    return;
  }
  console.log('resolve address: ', address);
});

// reverse：反向解析 IP 地址，指向该 IP 地址的域名数组。
const ip = "192.30.252.130";
dns.reverse(ip, function (err, hostnames) {
  if (!err) {
    console.log(ip + "IP绑定的语言数组为：" + hostnames);
  } else {
    console.log(err);
  }
});
// 返回当前正在使用的ip地址
const servers = dns.getServers();
console.log("current server ip address: ", servers);
